Skip to content

Fix microshift-bootc Konflux build: add pkg_managers to skip rpm prefetch#10636

Merged
openshift-merge-bot[bot] merged 4 commits into
openshift-eng:openshift-4.20from
pruan-rht:fix-microshift-bootc-pkg-managers
May 18, 2026
Merged

Fix microshift-bootc Konflux build: add pkg_managers to skip rpm prefetch#10636
openshift-merge-bot[bot] merged 4 commits into
openshift-eng:openshift-4.20from
pruan-rht:fix-microshift-bootc-pkg-managers

Conversation

@pruan-rht
Copy link
Copy Markdown
Contributor

Summary

  • build-microshift-bootc Eliminate use of master direct & as fallback #295 fails at prefetch-dependencies: hermeto requires rpms.lock.yaml but none exists
  • Root cause: doozer auto-adds {"type":"rpm"} to cachi2 input because enabled_repos are defined, but RPMs are installed via dnf install at build time, not prefetched via cachi2
  • Fix: add pkg_managers: [gomod] under content.source to explicitly control prefetch types, matching the pattern used by other images (e.g. cluster-etcd-operator)

Error from build #295

ERROR LockfileNotFound: Required files not found: rpms.lock.yaml
hermeto fetch-deps command failed: exit status 13

Test plan

  • Retrigger build-microshift-bootc for 4.20.23 assembly and verify prefetch-dependencies succeeds
  • Verify gomod prefetch still works correctly

🤖 Generated with Claude Code

pruan-rht added 4 commits May 17, 2026 11:39
The build-microshift-bootc Konflux pipeline fails because hermeto
requests rpm prefetch in strict mode but no rpms.lock.yaml exists.
Doozer auto-detects enabled_repos and adds type:rpm to cachi2 input,
but skips lockfile generation since the RPM install list is empty
(RPMs are installed via dnf at build time, not prefetched).

Adding pkg_managers: [gomod] tells doozer to only request gomod
prefetch, matching the pattern used by other images like
cluster-etcd-operator.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
pkg_managers alone did not prevent RPM prefetch — doozer's
konflux_image_builder adds RPM type based on group-level
lockfile.force, ignoring pkg_managers. Override at image level
to prevent rpms.lock.yaml requirement.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
Doozer's is_lockfile_generation_enabled() checks
config.konflux.cachi2.lockfile.enabled, not lockfile.force.
Previous commit used wrong field name.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
Disabling lockfile also disables repo injection into hermetic
build, causing dnf install to fail with no enabled repos.
Instead, list the RPMs that the Containerfile installs so doozer
can generate rpms.lock.yaml properly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
Copy link
Copy Markdown
Contributor

@rayfordj rayfordj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 18, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 18, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rayfordj

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 18, 2026
@openshift-merge-bot openshift-merge-bot Bot merged commit 4bcf494 into openshift-eng:openshift-4.20 May 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants